# 导包
from api.add_cart import add_cartAPI
from api.lite_login import LiteLogin
# 创建测试类
class Test_add_cart:
    TOKEN =None
    # 前置处理
    def setup_method(self):
        self.cart_api = add_cartAPI()
        # 下一步需要拿到登录产生的token，并且将其保存为一个
        # 类属性（类中的全局变量）
        self.login_api = LiteLogin()
        resp_l =self.login_api.login(test_data={"username":"user123",
                                        "password":"user123"})
        # resp_l是登录接口的完整响应结果，下面需要从resp_l中拿到token值
        Test_add_cart.TOKEN = resp_l.json().get("data")["token"]


    # 后置处理
    def teardown_method(self):
        pass
    # 编写测试用例方法
    # 加购成功
    def test01_add_success(self):
        cart_thing = {"goodsId":1181000,"number":1,"productId":2}
        resp_a =self.cart_api.add_cart(token=Test_add_cart.TOKEN,
                                       test_data=cart_thing)
        # 加入断言判断用例是否执行成功
        # 断言状态码是否为200
        assert 200 == resp_a.status_code
        # 断言‘成’有没有在响应文本中
        assert '成' in resp_a.text
        # 断言errno的值是否为0
        assert 0 == resp_a.json().get("errno")
    # 加购失败（goodsID为空）
    def test02_goodsid_isnull(self):
        pass
    # 加购失败（number为0）
    def test03_number_eq_zero(self):
        pass